Method and receiver for controlling the conformance of a data flow in a communication system to a traffic definition

ABSTRACT

A method is described for controlling the conformance of a data flow in a communication system to a traffic definition. The communication system comprises a transmitter and a receiver and data packets transporting the data flow are sent from the transmitter to the receiver. The receiver sends responses identifying received data packets to the transmitter, and the transmitter comprises a control function which controls the number of sent data packets for which no response is received according to a limit for the number of outstanding data packets. In the method, a conditioning criterion is obtained for the data flow, the conditioning criterion being associated with the traffic definition. The receiver determines a conformance parameter for the received data packets transporting the data flow. The limit and/or the sending of the responses is modified according to the conditioning criterion and the determined conformance parameter for controlling the number of transmitted data packets. A receiver and a software program embodying the invention are also described.

TECHNICAL FIELD

The present invention relates to a method for controlling theconformance of a data flow in a communication system to a trafficdefinition, wherein the communication system comprises a transmitter anda receiver and data packets transporting the data flow are sent from thetransmitter to the receiver. A receiver and a software program embodyingthe invention are also described.

BACKGROUND

The transmission capacity of communication systems is limited due to theavailable resources for transmission. For example, the air interfacebetween mobile user equipment and the access node of a radiocommunication system has only a limited bandwidth which has to be sharedby the users of the communication system. For this reason, manycommunication systems comprise functions for access restriction to avoidcongestion by additional traffic entering the communication system, forpolicing or shaping ongoing traffic to ensure the conformance of thetraffic with traffic definitions, and for scheduling of the traffic toshare the available resources between the users. Traffic conditioning isused throughout the text as generic term for shaping and policing. Theconditioning can comprise buffering, marking and/or dropping of thetraffic.

These functions often control the traffic according to parameters whichare specific for the subscription of a user, for example a specifiedquality of service, especially with respect to the bit rate for theuser. In other words, operators may choose to offer different qualitiesof service (QoS) depending on the user's subscription, i.e. they maychoose to perform user differentiation. Depending on the type oftraffic, the requirements for the transmission can differ significantly.For example, voice transmission requires low delay and jitter while alimited amount of errors can be acceptable while file transfer typicallyrequires error-free data but allows for jitter. As a result, alsotraffic differentiation may be required. For providing user and trafficdifferentiation, a defined quality of service is an important concept inthe control of data traffic as described for example in technicalspecification 3GPP 23.107 V 6.4.0. of the 3^(rd) Generation PartnershipProject “Quality of Service (QoS) concept and architecture”.

The traffic consists of data packets sent between the user equipment andthe communication system. The user equipment and the nodes of thecommunication system typically have a layered protocol stack with aplurality of protocol layers, the data packets corresponding to aspecific layer in the protocol stack. For the transmission, the datapackets may be processed into data units of an underlying layer in theprotocol stack. Such processing can comprise for example segmentation,concatenation, or padding of data packets, or adding of headers orchecksums to them, or any combinations of such processing. Similarly,the data packets may carry data of a higher layer in the protocol stack.

The quality of service relating to a data transmission involving nodesof a mobile communication system and a user equipment is defined indifferent contexts. The user equipment and a core network node of thecommunication system can negotiate a PDP (Packet Data Protocol) contextwhich specifies parameters for the transmission of data packets to andfrom the user equipment. Further contexts can be set up for differentlinks of the data transmission, e.g. a radio bearer between an accessnode and the user equipment, which specifies the transmission parameterson the radio link. The parameters of the further contexts are normallydetermined according to the PDP context. Packet flows to and from theuser equipment are then mapped to these contexts and forwardedaccordingly by the scheduling and traffic conditioning functions.

In recent developments of mobile access systems, the scheduling functionis moved closer to the air interface in order to allow higher data ratesand faster responses. In a mobile communication system, for example in aUMTS system (Universal Mobile Telecommunication System) according to3GPP (3^(rd) Generation Partnership Project) specifications, the radioresources are thus preferably scheduled in the Radio Base Station (RBSor Node B). Fast scheduling in the Node B allows for quick resourceallocation and re-allocation of resources between users. One schedulingstrategy is to time-multiplex different users, so that one user orselected users are allowed to transmit at a high data rate at one timewhile the transmissions of other user are performed at another time.Advanced methods at the physical layer including e.g. channel dependentcoding and modulation, higher order modulation schemes, or multipleinput-multiple output (MIMO) together with wide spectrum bands meansthat the momentarily available bit-rates for each user can be very high.

However, if an operator of a communication system offers differentlypriced subscriptions with different quality of service, in particularwith different data rates, the bit-rate is also constrained by asubscription maximum bit-rate (MBR). Similar subscriptions are alreadytoday offered by many fixed broadband (e.g. DSL) operators.Correspondingly, if the maximum bit-rate of the subscription is exceededthe user should not be allowed to use the momentarily availablebit-rate, which is for a mobile communication system typically limitedby the air interface. For this purpose, a traffic conditioning functioncan constrain the maximum bit-rate to a value below the bit-rateprovided by the physical layer. A further need for a trafficconditioning function exists if the user equipment can use bearers withdifferent Quality of Service (QoS): An application should not be allowedto misuse a bearer that has been allocated to support a certain maximumbit-rate. In both cases, the traffic conditioning function should ensurethat the MBR is not exceeded.

A traffic conditioning function can be implemented using a token bucketalgorithm. In this case, the bit-rate may momentarily exceed the MBR butmust not exceed it on average. The allowed traffic pattern, especiallyburst-sizes, is specified by the parameters of the algorithm. Trafficexceeding the specified criteria is queued or dropped according to thespecific implementation. An example of traffic conditioning is describedin 3GPP TS 23.107 V6.4.0. The token bucket algorithm in this example isdefined by the desired asymptotic, i.e. long term, maximum rate and theupper bound of the burst-size that is conforming to the conditioningcriteria. Packets conforming to the traffic definition represented bythe conditioning criteria are forwarded while non-compliant packets maytrigger a shaping, marking or policing of the traffic.

While policing and scheduling of traffic in the downlink to the userequipment is already specified in present 3GPP specifications, theconditioning of uplink traffic from the user equipment to the radioaccess of the communication system still constitutes a problem.Conditioning traffic in the uplink from the user equipment to the radionetwork can be performed at different places all having specificdisadvantages.

As a first option, traffic conditioning could be performed in the userequipment, for example in a mobile terminal as described inspecification 23.107. The mobile terminal can ensure that the traffic isconforming to the conditioning criteria. However, specifications lack adetailed description of the algorithms that the user equipment shoulduse to shape and police traffic. The methods used for conditioning andthe traffic characteristics resulting from this traffic conditioning maythus differ substantially depending on the vendor of the user equipment.In addition, control by the user equipment may have the result that theconditioning function shapes or drops traffic in an undesirable manner.Furthermore, if an operator offers different QoS at different prices healso wants to be responsible for providing the QoS while the userequipment is often considered a non-trusted device. As a result, anetwork-controlled solution in which the network is responsible for theQoS and the conditioning function is preferred.

Alternatively, traffic conditioning may be performed in a network nodecontrolling data traffic relating to the user equipment, for example inan RNC (Radio Network Controller), an SGSN (Serving GPRS Support Node),or a GGSN (Gateway GPRS Support Node). However, the respectiveconditioning function cannot immediately affect data traffic prior tothis network node, e.g. over the wireless access link or the transportnetwork. Resources used for the transmission of packets dropped by anetwork controlled policing function are thus wasted which is especiallyundesirable for the wireless link on the air interface.

A further possibility for constraining the data rate in the uplink is tolimit the available transport block sizes available to the userequipment using radio resource configuration by an RNC, or schedulingrestrictions in the Node B. However, such restrictions may unnecessarilylimit the momentary bit rate and the opportunities to time-multiplexusers so that the gains from link-dependent scheduling could potentiallybe lost. Sending multiple small blocks instead of fewer large blocks istypically also associated with a larger transmission overhead.

Uplink traffic conditioning by the Node B scheduler could provide astill further means for controlling the MBR using scheduling grants,including also the freedom to dynamically assign time-varying grants.However, also this option has disadvantages. The scheduler in a Node Baccording to 3GPP specifications can assign grants per user equipment orper dedicated channel while present user equipment can only have onededicated channel. The Node B has therefore limited means to control therate of individual flows. For example, if a user equipment with multipleflows performs priority scheduling, the Node B scheduler cannot allowdata of from a low-priority flow while at the same time restricting thenmaximum bit-rate of a higher-priority flow from the same user equipment.This disadvantage could be improved by changing the standards andallowing scheduling grant assignments to specific flows. However, thisoption would significantly increase the required signaling.

Accordingly, existing solutions for uplink traffic conditioning areequipped with a multitude of difficulties, drawbacks and/or lack ofstandard support.

SUMMARY

In view of the above disadvantages it is an object of the presentinvention to propose an improved method for controlling the conformanceof a data flow in a communication system to a traffic definition.

According to the invention, the method described in claim 1 isperformed. Furthermore, the invention is embodied in a receiver, acommunication system and a program as described in the furtherindependent claims.

The proposed method controls the conformance of a data flow in acommunication system to a traffic definition. The communication systemcomprises a transmitter and a receiver and data packets transporting thedata flow are sent from the transmitter to the receiver. The receiversends responses identifying received data packets to the transmitter andthe transmitter comprises a control function which controls the numberof sent data packets for which no response is received according to alimit for the number of outstanding data packets.

In the method, a conditioning criterion for the data flow is obtained,the conditioning criterion being associated with the traffic definition.A conformance parameter for the received data packets transporting thedata flow is determined at the receiver. The limit and/or the sending ofthe responses is modified according to the conditioning criterion andthe determined conformance parameter for controlling the number oftransmitted data packets.

A receiver for controlling the conformance of a data flow in acommunication system to a traffic definition is also described. Thereceiver comprises an input unit to receive data packets transportingthe data flow from a transmitter, an output unit adapted to sendresponses identifying received data packets to the transmitter, and aprocessing unit adapted to control the responses sent by the outputunit. The processing unit is also adapted to obtain a conditioningcriterion for the data flow, the conditioning criterion being associatedwith the traffic definition. The processing unit further comprises adetermining function for determining a conformance parameter for thereceived data packets transporting the data flow, and a setting functionfor modifying a limit for a number of outstanding data packets and/orthe sending of the responses according to the conditioning criterion andthe determined conformance parameter for controlling the number oftransmitted data packets. The receiver can be adapted to any embodimentsof the method. The receiver functions can for example be embodied assoftware executed in the processing system.

Furthermore, a program is described for controlling the conformance of adata flow in a communication system to a traffic definition whenexecuted in the processing unit of a receiver of a communication system.The receiver comprises an input unit to receive data packetstransporting the data flow from a transmitter, an output unit adapted tosend responses identifying received data packets to the transmitter, theprocessing unit being adapted to control the responses sent by theoutput unit. The program comprises code for performing the steps ofobtaining a conditioning criterion for the data flow, the conditioningcriterion being associated with the traffic definition, determining aconformance parameter for the received data packets transporting thedata flow, and modifying a limit for a number of outstanding datapackets and/or the sending of the responses according to theconditioning criterion and the determined conformance parameter forcontrolling the number of transmitted data packets.

A program unit according to the invention is for example stored on adata carrier or loadable into a processing system of a receiver, e.g. asa sequence of signals.

The foregoing and other objects, features and advantages of the presentinvention will become more apparent in the following detaileddescription of embodiments as illustrated in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a communication system in which the proposed method isapplicable

FIG. 2 shows the transmission of data packets in an ARQ protocol

FIG. 3 shows a traffic conditioning in a first embodiment of theproposed method

FIG. 4 shows a traffic conditioning in a second embodiment of theproposed method

FIG. 5 shows a traffic conditioning in a third embodiment of theproposed method

FIG. 6 shows a receiver embodying the proposed method

FIG. 7 shows a flow chart of the proposed method

DETAILED DESCRIPTION

FIG. 1 shows an example of a communication system in which the proposedmethod can be used, comprising as subsystems a UMTS mobile communicationsystem and an external communication system. In the example, anapplication UA executed in a user equipment UE in the UMTS mobile systemis in communication COM with an application EA executed in a device EXTin the external network, e.g. an Internet server. The communication isperformed using data packets which are sent over different intermediatenodes, in the example radio access network nodes RAN and core networknodes CN. While only one node of each group is indicated for clarity, askilled person is aware that customary mobile networks comprise a corenetwork with a plurality of core network nodes, e.g. a serving generalpacket radio service support node (SGSN) and a gateway general packetradio service support node (GGSN). The core network nodes allow theexchange of data with external networks such as the Internet or mobileor fixed networks of other operators. Furthermore, customary radioaccess networks comprise different access network nodes for the radiotransmission to the user equipment, commonly designated, e.g., as radionetwork controllers (RNC) or Node B. However, this split offunctionality between the radio access nodes and the core nodes is notessential to the present invention.

Each device comprises at least one protocol stack PSU, PSR, PSG, PSEprocessing the data packets of the communication. The protocol stacksmay have different numbers of protocol layers. Especially manyintermediate devices may not be adapted to process the highest layersindicated like the application layer. Devices with different types oflinks towards different nodes, e.g. a wireless link WL and a fixed linkFL, or fixed links FL, FL′ with different properties, generally comprisea different stack for each type of link although this detail is alsoomitted in the figures for clarity. Only some of the protocol layers inthe respective stacks are indicated. The wireless link WL between theuser equipment and the radio access network is controlled by an RLC(Radio Link Control) layer. Different instances within the RLC layer areassociated with different logical channels between user equipment andradio access network.

A customary transport protocol is IP (Internet Protocol) as indicated inthe user equipment UE, the core network node CN and the external deviceEXT. The IP address for the user equipment is associated with a PDPcontext which defines the quality of service for the bearers in themobile communication system. Generally, the PDP context is alsoassociated with a specific RLC instance as contexts relating to thebearers in the radio access network are defined in dependence on the PDPcontext.

The proposed method is suitable for controlling the conformance of adata flow in a communication system to a traffic definition, e.g. anagreed data rate of the data flow. The method is especially suited for amobile communication system with a wireless link between a transmitterand a receiver although it is applicable to other communication systemsas well. It should be noted that the receiver is in many cases not theultimate destination of the traffic carried by the flow but terminatesthe protocol in which the data packets are sent, e.g. an RLC receiverfor RLC packets.

A data flow is often defined by the origin and the destination of thecorresponding data units and the protocol used. For example an IP dataflow is usually defined by 5 parameters, i.e. source and destinationaddresses, source and destination port numbers and protocolidentification. In the present text, however, the term flow is used in amore general meaning and can comprise all data packets of a givenprotocol layer which are either sent to the same destination or by thesame source using a common control instance, i.e. all packets with acommon endpoint in the given protocol layer. A flow can thus be definedonly by a subset of the above parameters and may correspondinglycomprise a plurality of IP flows. For a mobile communication system, aflow can comprise for example all traffic which is related to the samePDP context, logical channel or radio access bearer. An example of asuitable control instance in this case is thus an RLC instance asdefined in the 3GPP specifications and described with respect to FIG. 1.Due to the processing in the protocol stack, the data of the flow issent using the data packets of lower layers. The lower-layer datapackets are thus associated with the respective data flow, even if thedata flow is defined on a different protocol layer. In particular, thecontrol instance may be part of a lower protocol layer as in the aboveexample, where the PDP context is associated with an IP address whilethe RLC instances control the underlying link layer in the protocolstack.

Data packets transporting the data flow are transmitted from thetransmitter to the receiver and the receiver sends responses identifyingreceived data packets to the transmitter. An example for a response isan acknowledgement. Typically, data packets are identified by a sequencenumber and the responses indicate the sequence numbers of received datapackets or the next expected data packet. Cumulative acknowledgementsidentifying a plurality of data packets are also possible. If thetransmission is performed in an acknowledged mode, a memory in thetransmitter preferably stores the sent data packets for an optionalretransmission until an acknowledgement confirms successful reception bythe receiver. It is however also possible to use the proposed method inan unacknowledged mode, for example if responses identify the highestsequence number of the received packets without requesting them forretransmission.

The transmitter in the proposed method comprises a control function forthe transmission, which controls the number of sent data packets forwhich no response is received according to a limit for the number ofoutstanding data packets. Outstanding data packets are packets which aresent to the receiver but for which a response is not yet received, forexample unacknowledged packets. The transmitter may comprise atransmitter window which identifies outstanding data packets. In thisembodiment, the limit corresponds to the maximum number of data packetsidentified in the transmitter window.

At least one conditioning criterion for the data flow is obtained, forexample by a control function which may be implemented as software in aprocessing unit of the receiver. The conditioning criterion isassociated with the traffic definition. During transmission of the datapackets, a conformance parameter like a measured data rate of receiveddata packets transporting the data flow at the receiver is determined.For this purpose, the control function comprises an interface forobtaining the required information, e.g. the number of data packetsreceived per interval of time and the size of the data packets. Withthis information, the conditioning criterion and the determined datarate are compared. The limit for the number of outstanding packetsand/or the sending of the responses is modified according to the resultof the comparison in order to control the number of transmitted datapackets. A modification can be performed if the determined conformanceparameter exceeds the conditioning criterion, for example if a measureddata rate exceeds a maximum bit rate, or if the data rate meets thepolicy criterion again after a prior modification.

It should be noted that more than one conformance parameter can bechecked against a conditioning criterion to determine if a modificationshall be performed. It is also possible that a conformance parameter ischecked against a combination of conditioning criteria. For example, atoken bucket algorithm for controlling a data rate will trigger amodification in case of both excessive average data rate and excessiveburst sizes. In this case, the conditioning criteria would correspond tothe bucket size and token rate, such that the traffic is non-conformantif the bucket is empty, while the conformance parameter would correspondto the fill level of the token bucket.

The proposed method describes a traffic conditioning controlled by thereceiver. It has the advantage that a waste of resources on the linkbetween transmitter and receiver is avoided and no data packets thathave been sent over the link between transmitter and receiver are lostdue to the traffic conditioning. If the method is implemented in areceiver being part of the network, it can be fully controlled by thenetwork, i.e. the operator. In this way, it is especially suitable forcontrolling the average data rate and burst sizes in the uplink for datatransmitted from the user equipment to the communication system althoughit may also be used in the downlink to the user equipment. The method issimple and thus does not affect the performance of the receiver.Depending on the implementation, no or merely a small increase ofcontrol signaling between receiver and transmitter is required.

In an advantageous embodiment, the step of modifying comprises a messagefrom the receiver to the transmitter for adapting the limit.Accordingly, the transmitter is instructed to decrease or increase themaximum number of outstanding, e.g. unacknowledged, data packets. Inthis way the traffic can either be limited for conforming to the trafficdefinition or the restrictions may be relaxed if the traffic would thenstill conform, e.g. the maximum data rate can be changed.

The step of modifying can also comprise an adaptation of a delay beforesending a response, i.e. responses are not sent immediately after theyare triggered by a reception surveillance function in the receiver butsent with an additional delay if the data rate shall be reduced. For anincrease of the maximum data rate, the delay can be decreased orremoved.

If responses adapted to identify a plurality of data packets are used,e.g. cumulative acknowledgements, the step of modifying can comprisealso an adaptation of the number of data packets identified in aresponse. For example, the acknowledgement for a successfully receiveddata packet can be sent in a later acknowledgement if the data rateshall be decreased.

It should be noted that the above options for controlling the number oftransmitted data packets in line with the traffic definition can eitherbe used alternatively or in any combination.

An advantageous conditioning criterion is a limit for a data rate andthe conformance parameter is a measured data rate. Alternatively, acombination of suitable conditioning criteria are the parameters of atoken bucket, where the token bucket is characterized by its size andthe token rate. In the latter case, the conformance parameter is thefill level of the token bucket.

In an advantageous embodiment, the data flow consists of data units ofan upper layer in a protocol stack, for example an IP data flow. Thedata packets transporting the data flow are data packets of anunderlying layer in the protocol stack. This allows traffic conditioningalso in units which forward the data traffic but do not process theupper protocol layer. Furthermore, data sent in a protocol withoutresponses like for example a data stream using the user datagramprotocol (UDP) can be conditioned if an underlying protocol withresponses exists, e.g. an ARQ protocol. As a further advantage thisembodiment allows it to easily control the flow in a common instance ofthe underlying layer which all packets of the flow have to pass if asingle instance for controlling the flow in the upper layer does notexist or may require a more complicate mode of controlling.

Preferably, the data packets are data packets of a link layer on acommunication link between the transmitter and the receiver. This allowsto perform the traffic conditioning close to the transmitter anddecrease the delay before the conditioning measures affect the traffic.This is of especial advantage in wireless systems with a relatively highround trip time.

The method is especially advantageous if the transmitter is a mobileuser equipment and said receiver is a base station of a mobilecommunication system. For example, the method can be implemented fordata packets of the RLC layer in a UMTS radio access network.

In a further embodiment of the method, a plurality of data flows is sentbetween the transmitter and the receiver. In this case, the steps ofobtaining the conditioning criterion, determining the data rate andmodifying are performed for each data flow individually. This allows atraffic conditioning per logical channel, i.e. different flows supportedby the user equipment can be controlled independently.

If the size of the data packets is variable, the step of modifying isperformed also in consideration of the size of the data packets. In thisway, the method can also be applied to transmissions with variablepacket size if the size of the packets is available to the controlfunction determining the modification.

In a preferable embodiment, the above method is used to perform trafficconditioning, especially in the uplink, by controlling the transmitterwindow parameters in a window based Radio Link Control protocol in aUTRAN (UMTS Terrestrial Radio Access Network). The control can beperformed using, e.g., the token bucket algorithm as defined in 3GPP TS23.107. It can include control of responses sent in the downlink bycontrolling the pace or the content of cumulative acknowledgements inorder to constrain the bit rate in the uplink. Alternatively, the uplinkreceiver can control the transmitter window size by using the RLC WINDOWsuper-field. Limiting the transmitter window size constrains the amountof data the transmitter can send, and thereby the bit-rate of thelogical channel associated with the respective RLC instance.

In a sliding window ARQ (Automatic Repeat Request) protocol in the priorart, such as RLC, the transmitter is only allowed to have a certainnumber of unacknowledged data packets outstanding. According to the 3GPPprotocol specification TS 25.322 V6.7.0 for RLC, the parameter VT(MS)defines the maximum number of unacknowledged RLC data packets, generallydenoted as Protocol Data Units (PDU), the transmitter is allowed to haveoutstanding. VT(MS) is initialized to the value“Configured_Tx_Window_size” but the window size can be changed afterinitialization by the receiver of the PDUs using the WINDOW super fielddefined in TS 25.322.

The behavior of the sliding window is illustrated with the followingexample referring to FIG. 2. In an ARQ protocol, the receiveracknowledges received PDUs. The PDUs which are sent but not yetacknowledged are identified in the transmitter window. Theidentifications are stored in the window when a data unit is sent andremoved from the window after a successful transmission to the receiveris acknowledged. In the example, the size of the window is limited tosix PDUs. Consequently, the transmitter is allowed to have a maximum ofsix PDUs in flight, i.e. this is the maximum number of data packetswhich can be sent out without having received an acknowledgement of thereception. Upon reception of acknowledgements the transmitter can movethe window and transmit additional PDUs.

As can be seen in FIG. 2, an ARQ sliding window protocol has aself-clocking property, i.e. the reception of acknowledgements limitsthe rate of data transmission. In this example, the transmitter firstsends two bursts of data, e.g. in two transmission time intervals TTI,with packet numbers [1,2,3] and [4,5,6], respectively. Before sendingadditional PDUs, the transmitter has to wait for acknowledgements. Inthe example of RLC, cumulative acknowledgements are used which indicatethe number of the next data packet expected by the receiver. Thus anacknowledgement comprising an identification of PDU number n indicatesthat all PDUs up to number n−1 are correctly received. Thus when thereceiver acknowledges the first three PDUs with acknowledgement ACK(4),the transmitter is allowed to transmit another three PDUs. Additionalacknowledgements from the receiver allow the transmitter to transmitadditional PDUs, e.g. after reception of ACK(7) indicating the correctreception of all PDUs up to number 6 again three further PDUs can betransmitted.

The illustration on the left-hand side of FIG. 2 shows the status of thetransmitter window at the time indicated by the dashed arrow. Theright-hand side of the figure indicates the PDUs forwarded to thefurther processing in the receiver which may include reassembly anddelivery to upper layers. Corresponding illustrations are also includedin FIGS. 3-5 which indicate different embodiments of the present method.

In the proposed method, the rate of data reception, e.g. the number ofPDUs, in the receiver is determined and compared by a conditioningfunction to at least one criterion, for example using a token bucketalgorithm. In particular, the criterion can be an MBR. If the criterionis violated the acknowledgements are modified or delayed or a windowparameter is adjusted to control the bit-rate of the flow.

In the first embodiment illustrated in FIG. 3 only a part of thesuccessfully received data packets is acknowledged if a criterion isviolated. By modifying acknowledgements of successfully received PDUs,the self-clocking property of the sliding window protocol is utilized tocontrol the criterion, for example limit the MBR. In comparison to theexample in FIG. 2, the number of received PDUs is reduced as aconsequence of the modified responses.

When receiving the two groups of three PDUs each, the receiverdetermines a data rate and compares it to at least one conditioningcriterion, using e.g. a token bucket algorithm. After reception of thefirst group with packets [1,2,3] the criterion is still fulfilled. Aslong as the conditioning criterion is fulfilled acknowledgements aresent out for all received data packets. However, after reception of thesecond group of packets, the receiver determines that the criterion isviolated and acknowledges only a part of the received PDUs. Although thereceiver has correctly received packets [4,5,6], it only sendsacknowledgements up to PDU number 4 by sending ACK(5) in the figurewhile the correctly received PDUs 5 and 6 are not yet acknowledged. Ifthe criterion is still violated when the next packets are received, thereceiver similarly sends ACK(7) for confirming the reception of all datapackets up to 6, even though packets 7, 8, and 9 have been received.This results in less PDUs being sent by the transmitter. The remainingacknowledgements are sent out when checks in the receiver determine thatthe conditioning criteria are again met. Thus the content of cumulativeacknowledgements is constrained when conditioning criteria are violated.

Acknowledgements may also be delayed when a conditioning criterion isviolated as illustrated in FIG. 4. This results again in a slower pacein the self-clocking mechanism of the sliding window protocol, and alower bit-rate. The receiver determines conformance of the arriving datapackets to at least one conditioning criterion, in the example the datarate of the received data packets. Initially, the data rate conforms tothe conditioning criterion and all received data packets are immediatelyacknowledged. After receiving a second burst with 3 PDUs, the receiverdetermines that the traffic conditioning criterion is violated anddelays the acknowledgement of the received PDUs. In the example, theacknowledgement ACK(7) of the PDUs up to number 6 is delayed by a delayDEL1, resulting in delayed clocking of new PDUs from the transmitter.For the same purpose, also acknowledgement ACK(10) for the data packetsup to 9 is delayed by a delay DEL2. This results also in less PDUs beingsent. When the conditioning criterion is again met, the delay of theacknowledgements is reduced or omitted.

In a still further embodiment, the size of the transmitter window isreduced due to a violation of a conditioning criterion as illustrated inFIG. 5. Reducing the window size to a smaller value also enforces thatless data can be transmitted by the transmitter. Like in the precedingexamples, the receiver determines the data rate of received datapackets. After receiving a second burst of 3 PDUs, the receiverconsiders the traffic conditioning criterion as being violated, andsends a message WIN(4) to the transmitter to reduce the size of thetransmitter window. In the example, the window size is reduced from 6 to4 PDUs after reception of PDUs [4,5,6]. Due to the still unacknowledgeddata packets in flight, the cumulative acknowledgement ACK(7) of thethree PDUs [4,5,6] only results in the transmission of the single newPDU 10. At reception of PDU 10, the receiver determines that theadherence to the conditioning criterion is improved. Correspondingly,message WIN(5) is sent to enlarge the size of the transmitter window byone PDU to five. As a result, the cumulative acknowledgement ACK(11) ofPDU 10 triggers the transmission of two new PDUs.

While the above embodiments have been described separately,implementations could also include the functionality of a plurality orall of the embodiments. For example, delaying an acknowledgment is asimple and effective way of reducing the data rate but an excessivedelay may trigger an unwanted retransmission of the corresponding datapacket. Thus a receiver may initially control a conditioning criterionby sending partial acknowledgements or delaying acknowledgements but maythen reduce the size of the transmitter window if the initial controlmethod could cause undesired results like unnecessary retransmissions.

In all embodiments, different algorithms are conceivable to reduce therestrictions on the transmission if the conditioning criterion is againmet. For example, it is possible to return to the original transmissionparameters again if all conditioning criteria are met, i.e. sendingagain all responses immediately after reception of data packets orreverting the size of the transmitter window to the original value.Alternatively, restrictions may be reduced stepwise, e.g. the delay maybe decreased stepwise, the number of data packets in a cumulativeacknowledgement may be increased stepwise or the size of the transmitterwindow may be increased stepwise. The amount of the stepwise adaptationsmay depend on the determined value relating to the conditioningcriterion, for example the delay of a response may be reduced by half ifthe present data rate is below the MBR and the delay may be deleted ifthe present data rate is below half of the MBR.

If the packet size is constant in the above examples, the checking ofthe bit rate against the traffic conditioning criterion of a maximumdata rate or the parameters of a token bucket corresponds to countingthe number of PDUs per interval of time under consideration of thepacket size. However, if the packet sizes vary, the control algorithmrequires an information of the respective packet sizes which can beprovided for example by the radio link control instance of the radiolink over which the packets are transmitted. In this case, individualpacket sizes are considered in the comparison with the conditioningcriterion of a bit-rate or the fill level, i.e. the amount of trafficthe data packets carry.

An advantage of all embodiments is that the described solution enablestraffic conditioning per flow or logical channel in contrast to aconditioning per user equipment if one radio link control instanceexists per logical channel. This is for example the case in UMTS radioaccess systems. The proposed method can be applied independently foreach of the RLC instances. In this way, a traffic conditioning perlogical channel and thus per flow can be achieved.

FIG. 6 shows a receiver adapted to the above method, which can forexample be a Node B or an RNC of a UTRAN. The receiver comprises a firstinput-output unit 101 for communication with user equipments overwireless links WL and a second input-output unit 102 for communicationwith further nodes in a communication system, for example with an RNC oran SGSN. A processing unit PU connected to the input-output unitsprocesses data packets.

The processing unit comprises a plurality of radio link controlinstances RLCn, one for each logical channel, with associated controlfunctions CFn. The radio link control instances RLCn are adapted tocontrol the transmission of RLC PDUs over the wireless link via theinput-output unit 101 and send corresponding control messages, forexample acknowledgements for received data packets. The control functionCFn is adapted to obtain at least one conditioning criterion PC for thedata flow sent over the radio link control instance RLCn, e.g. a maximumbit rate. The conditioning criterion can for example be transmitted tothe control function when the radio link is configured and the controlinstance is set up. The control function determines also the presentdata rate DR of packets received by the associated radio link controlinstance as indicated by the upper arrow between the radio link controlinstance and the control function. The data rate is compared to theconditioning criterion PC. If the data rate exceeds the maximum bitrate, the control function initiates a modification of the controlmessages as indicated by the lower arrow.

It should be noted that FIG. 6 omits a multitude of elements in thereceiver for clarity. For example, underlying layers in a protocol stackmay process and forward the data packets between the input-output unitsand the RLC instances. Control units are typically adapted to coordinateand configure the RLC instances.

The basic procedure executed by the receiver in the method forcontrolling the conformance of a data flow to a traffic definition isshown in the flow chart of FIG. 7. In an initial waiting step 70, thereceiver waits for data packets transporting the data flow and sent fromthe transmitter to the receiver. After a data packet is received, thereceiver determines in step 72 a conformance parameter for the receiveddata packet. The conformance parameter will often be based also on priordata packets of the same flow, e.g. if it is an average data rate or abucket fill level of a token-bucket. If the receiver processes differentflows, the conformance parameter is generally determined for the flow towhich the packet belongs.

In comparison 74, the receiver compares the conformance parameter to aconditioning criterion for the data flow, which is associated with thetraffic definition for the flow. If the conformance parameter meets theconditioning criterion, it waits for the next data packet in waitingstate 76. If the conformance parameter does not meet the conditioningcriterion, the receiver modifies the limit of outstanding data packetsand/or the sending of the responses for controlling the number oftransmitted data packets. It then also enters the waiting state.

The sending of the responses identifying received data packets to thetransmitter is not shown in the figure because different implementationsare possible in which responses are sent for example for each packet, inregular intervals of time or after a certain number of packets isreceived. However, in any of these implementations the sending of theresponses can be modified as described before.

The above embodiments admirably achieve the objects of the invention.However, it will be appreciated that departures can be made by thoseskilled in the art without departing from the scope of the inventionwhich is limited only by the claims. In particular, although theinvention has been described in the context of UTRAN and enhanced UTRAN,including the Long Term Evolution (LTE) of the UTRAN, it is not limitedto this case but it is applicable to any communication system which usesa window-based link-layer protocol, for example in further wirelesssystems such as GSM/EDGE, CDMA2000 and WiMAX.

1. A method for controlling the conformance of a data flow in acommunication system to a traffic definition associated with a specifiedquality of service, wherein the data flow consists of data units of anupper layer in a protocol stack and data packets transporting the dataflow are data packets of an underlying layer in the protocol stack, thecommunication system having a transmitter and a receiver and the datapackets transporting the data flow being sent from the transmitter tothe receiver, wherein the receiver sends responses identifying receiveddata packets to the transmitter, and the transmitter having a controlfunction of the underlying layer which controls the number of sent datapackets for which no response is received according to a limit for thenumber of outstanding data packets, the method comprising the steps of:obtaining a conditioning criterion for the data flow, the conditioningcriterion being associated with the traffic definition; determining, atthe receiver, a conformance parameter for the received data packetstransporting the data flow; and modifying the outstanding data packetlimit or the sending of the responses according to the conditioningcriterion and the determined conformance parameter for controlling thenumber of transmitted data packets.
 2. The method according to claim 1,wherein said step of modifying comprises a message from the receiver tothe transmitter for adapting the limit.
 3. The method according to claim1, wherein said step of modifying comprises an adaptation of a delaybefore sending a response.
 4. The method according to claim 1, whereinthe responses are acknowledgements.
 5. The method according to claim 1,wherein the responses are adapted to identify a plurality of datapackets and said step of modifying comprises an adaptation of the numberof data packets identified in a response.
 6. The method according toclaim 1, wherein the conditioning criterion is a limit for a data rateand the conformance parameter is a measured data rate.
 7. The methodaccording to claim 1, wherein the conditioning criteria are the size andtoken rate of a token bucket and the conformance parameter is the filllevel of the token bucket.
 8. The method according to claim 1, whereinthe data packets are data packets of a link layer on a communicationlink between the transmitter and the receiver.
 9. The method accordingto claim 1, wherein said transmitter is a user equipment and saidreceiver is a base station of a mobile communication system.
 10. Themethod according to claim 1, wherein a plurality of data flows is sentbetween the transmitter and the receiver and the steps of obtaining theconditioning criterion, determining the data rate and modifying areperformed for each data flow.
 11. The method according to claim 1,wherein the size of the data packets is variable and said step ofmodifying is performed according to the size of the data packets.
 12. Areceiver for controlling the conformance of a data flow in acommunication system to a traffic definition associated with a specifiedquality of service, wherein the data flow consists of data units of anupper layer in a protocol stack and data packets transporting the dataflow are data packets of an underlying layer in the protocol stack, thereceiver comprising: an input unit to receive the data packetstransporting the data flow from a transmitter; an output unit adapted tosend responses identifying received data packets to the transmitter; anda processing unit adapted to control the responses sent by the outputunit and to obtain a conditioning criterion for the data flow, theconditioning criterion being associated with the traffic definition, theprocessing unit further comprising a determining function fordetermining a conformance parameter for the received data packetstransporting the data flow and a setting function for modifying a limitfor a number of outstanding data packets or the sending of the responsesaccording to the conditioning criterion and the determined conformanceparameter for controlling the number of transmitted data packets.13.-14. (canceled)
 15. A program for controlling the conformance of adata flow in a communication system to a traffic definition whenexecuted in the processing unit of a receiver of a communication system,wherein the traffic definition is associated with a specified quality ofservice and the data flow consists of data units of an upper layer in aprotocol stack and data packets transporting the data flow are datapackets of an underlying layer in the protocol stack, the receiverhaving an input unit to receive data packets transporting the data flowfrom a transmitter, an output unit adapted to send responses identifyingreceived data packets to the transmitter, the processing unit beingadapted to control the responses sent by the output unit and the programcomprising code for performing the steps of obtaining a conditioningcriterion for the data flow, the conditioning criterion being associatedwith the traffic definition; determining a conformance parameter for thereceived data packets transporting the data flow; and modifying a limitfor a number of outstanding data packets or the sending of the responsesaccording to the conditioning criterion and the determined conformanceparameter for controlling the number of transmitted data packets. 16.(canceled)
 17. The receiver according to claim 12, wherein the settingfunction of the processing unit further comprises means for sending amessage from the receiver to the transmitter for adapting the limit. 18.The receiver according to claim 12, wherein the setting function of theprocessing unit further comprises means for adapting a delay beforesending a response.
 19. The receiver according to claim 12, wherein theresponses are acknowledgements.
 20. The receiver according to claim 12,further comprising adaptation means for adapting the responses toidentify a plurality of data packets and for adapting the number of datapackets identified in a response.
 21. The receiver according to claim12, wherein the conditioning criterion is a limit for a data rate andthe conformance parameter is a measured data rate.
 22. The receiveraccording to claim 12, wherein the conditioning criteria are the sizeand token rate of a token bucket and the conformance parameter is thefill level of the token bucket.
 23. The receiver according to claim 12,wherein the data packets are data packets of a link layer on acommunication link between the transmitter and the receiver.
 24. Thereceiver according to claim 12, wherein said receiver is a base stationof a mobile communication system.
 25. The receiver according to claim12, wherein a plurality of data flows being sent between the transmitterand the receiver the receiver having means for obtaining theconditioning criterion, determining the data rate and modifying eachdata flow.